package com.wlc.base;

/**
 * @author 王立朝 wanglichao@champion-credit.com
 * @description 运算符
 * @date 2021-06-13 10:57
 */
public class Demo08 {
    /**
     * 运算符 自增，自减
     */
    public void method1() {
        // ++ 自增    -- 自减
        int a = 3;
        // 执行完  这行代码之后，先给b进行赋值，a再自增；
        int b = a++;
        System.out.println("a = " + a);
        System.out.println("b = " + b);
        // 执行完这句代码之后，a先自增，再给c赋值
        int c = ++a;
        System.out.println("a = " + a);
        System.out.println("c = " + c);
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
    }

    /**
     * 逻辑运算符  ： 与 &&  或 ||  非 ！
     */
    public void method2() {
        // 与 &&  或 ||  非！
        Boolean a = true;
        Boolean b = false;
        // a&&b  只有当a和b 都为true的时候，返回true，否则返回false ;当 a 为false的时候，b不会去执行
        System.out.println("a && b = " + (a && b));
        // a||b  a或者b只要又一个为true,结果就是true
        System.out.println("a || b = " + (a || b));
        // !(a&&b) 如果是假，就返回true,如果是真，就返回false
        System.out.println("!(a&&b) = " + !(a && b));

        int c = 2;
        int d = 3;
        // 当 c > d 为 false的时候，后面的c++ 就不会去执行；当 c>d为true的时候，后面的c++ 才会直行
        Boolean flag = c > d && c++ < d;
        System.out.println(c);
        System.out.println(flag);
    }

    /**
     * 字符串连接问题
     */
    public void method3() {
        int a = 10;
        int b = 20;
        // 结果是1020 ， 字符串 在 一个运算 的前面 ，会把运算的结果拼接到一起；
        System.out.println("a+b = " + a + b);
        // 结果是30
        System.out.println(a + b);
        // 结果是30； 字符串在 一个运算的后面，不会把结果拼接到一起，还是会计算的。
        System.out.println(a + b + "");
        System.out.println("hello world");


    }

    public static void main(String[] args) {
        Demo08 demo08 = new Demo08();
        demo08.method3();

    }

}
